The invention also relates to a base station that can be connected to a radio network, wherein the base station comprises at least two processing devices and each processing device provides at least one resource that can be requested by an initial service.
Further on, the invention relates to a computer program adapted to be run on a data processing device, in particular on a resource manager or a base station.
A processing device provides different services for data processing. To realize a service, several resources are needed. Typically, different services require a different amount of resources during processing. A resource manager manages these resources. Since the resources of a processing device are limited, a requested service can be rejected, if the appropriate resources are not available.
A processing device can be part of a communications system. A service offered by the processing device typically includes receiving data, for example a data stream, processing the received data, for example by converting the received data to a different data format or finding and removing distorted data within the data stream, and transmitting the data, for example to another processing device, to a user terminal, or to another communications system.
When a service is started, it often is started requiring only few resources. This so-called initial service is for example used to establish a communications link between two terminals, e.g. two mobile telecommunications devices. Frequently, the initial service needs to be extended during processing this service, requiring in general more resources. The amount of resources required by a future extension is not known at the time of starting the initial service. If these resources are not available, this service is stopped, which on the one hand is unpleasant for an user and on the other hand induces a system instability that contradicts to the basic purpose of a service, namely to be reliable.
If a service is requested, often several processing devices are capable of serving the requested service, in principle, which means that one of these processing devices has to be selected. Within the field of communications systems it is known to classify the processing devices according to the amount of one specific resource that is still available or that is already used. The selection of one of the processing devices is then performed according to the amount of available resources, i.e. the processing device that has most of these resource still available is selected.
In an UMTS (Universal Mobile Telecommunications System) the so-called Node B comprises several processing devices and each processing device comprises certain resources. One of these resources is the so-called DL-bit-rate which represents a currently available bit rate for a downlink data stream (DL) of a DSP (Digital Signal Processor) that is part of the processing device. If a new service is requested from the Node B, a processing device is selected according to the available DL-bit-rate of each processing device.
If an initial service is started on a processing device and needs to be extended, the processing device often does not provide the resources needed for service extension due to the fact that too many services are already running on the processing device. Re-allocating the service to another processing device usually is not possible, because this would mean an interruption in processing the data stream.
It is, therefore, an object of the present invention to provide a method for selecting a processing device that increases the extensibility of an initial service and to increase the stability of a running service. It is a further object of the present invention to improve the utilization the resources provided by several processing devices.
The object is solved by a method as mentioned above, wherein                for each initial service two extension services are determined, wherein each extension service defines a set of resources for further extension;        a reservation mode that indicates an extension service is assigned to each processing device that guarantees this extension service to be reserved for the initial service; and        a processing device is only selected, if a reservation mode is assigned to it.        
The inventive method allows to define for each processing device the amount of at least one resource to which an initial service is guaranteed to extend. These extension services are indicated by a reservation mode that is assigned to each processing device that guarantees this extension service, i.e. this set of resources, to be reserved for the initial service.
Defining an extension service can consider several parameters. In particular, an extension service can comprise resources that are required to perform a certain service. If the service, for example, allows the transmission of streaming video, a high downlink (DL) bit rate has to be included into the set of resources. If a processing device is in a reservation mode that indicates this extension service, it is guaranteed that each initial service running on this processing device can be extended such that streaming video can be transmitted.
The inventive method increases the stability of an initial service running on a processing device, since an initial service is only started, if an extension to at least one extension service is guaranteed. The unit that requests this service thus knows which extension service is available.
Advantageously, the two extension services are realized as a maximum extension service and a minimum extension service. The maximum extension service defines the maximum set of resources that are reserved for use by the initial service. The minimum extension service defines the minimum set of resources that are reserved for use by the initial service.
This in particular increases the stability of running services, since an initial service is only started, if the processing device allows at least an extension of the initial service to the minimum extension service. The minimum set of resources that are defined by the minimum extension service can be determined e.g. such that within a communication system at least speech-related data can be transmitted.
The maximum extension service can be defined to define the amount of one or more resources an initial service can at least extend to as long as the processing device is in the maximum reservation mode. The maximum extension service can be determined to realize a trade-off between the number of services that can be served by a processing device or a set of processing devices and the type of service that should be served by the processing device. Within the field of communication systems, the maximum extension service can for example define the resources that are required to process and transmit video streams according to a certain data format and e.g. to a certain sampling rate.
If a processing device guarantees that each initial service served by the processing device can currently extend to the maximum extension service, this processing device is in the maximum reservation mode.
If a processing device guarantees that all initial services served by this processing device can extend to the minimum extension service, this processing device is in the minimum reservation mode.
If a processing device switches from maximum reservation mode to minimum reservation mode each initial service already running will only be guaranteed to extend to the minimum extension service, at least as long as the processing device switches back to the maximum reservation mode.
Since a processing device is only selected when a reservation mode is assigned to it, each processing device that is selected at least is in the minimum reservation mode. This guarantees each initial service to be extended at least to the minimum extension service.
If the initial service does not extend within a predefined time-interval since service start, the reservation for an initial service is cancelled. This prevents resources to get blocked due to being reserved for an initial service but not being used for service extension, at least within the predefined time interval.
According to a preferred embodiment of the present invention, a load is assigned to each processing device. To select a processing device the load of at least one processing device is evaluated. This for example allows to uniformly distribute the initial services to the available processing devices, such that each processing device is similarly loaded.
Preferably, the load of a processing device is determined according to                the resources that are still available,        the resources that are already in use,        the number of services that are already running on the processing device,        the number of services that can still be started according to the current reservation mode, or        a metric taking into account for each resource the part still available or the part already used.        
These values are in particular suitable to determine the load of a processing device. If the load is defined by the resources that are still available, it can easily be determined, whether a new initial service can be started on a processing device.
Typically, each initial service running on a processing device has to be managed which induces an overhead. This is one reason why the number of initial services served by a processing device is limited. Knowing the number of services that are already running or the number of services that can still be started thus can advantageously be considered for the selection of a processing device. However, it has to be mentioned that the number of services that can be served by the processing device can itself be viewed as a resource within this context.
Preferably a metric is used to determine the load of a processing device. Any metric appropriately expressing the load and thus the resource consumption and providing the comparability of the processing devices in terms of the load is conceivable in the current context. The metric takes into account for each resource provided by the processing device the part of the resource that is still available or the part of the resource that is already used. Such a metric can additionally assign a weight to each resource such that the part of each resource that is still available or that is already used is considered with a rate according to the weight.
Preferably, if at least one processing device is in the maximum reservation mode, the processing device is selected that has the highest load and is in the maximum reservation mode. This means that among all processors in maximum reservation mode the most loaded processor is selected to start the new service.
Using this selection criteria, the highest loaded processor in maximum reservation mode tends to fill up until entering minimum reservation mode. While new services will be started on the highest loaded processor in maximum reservation mode, other processors in maximum reservation mode tend to get freed by stopped services. Also, processing devices in minimum reservation mode tend to get freed by stopped services. This allows the processing devices in minimum reservation mode to enter the maximum reservation mode, when an extension to the maximum extension service is possible for an initial service. This selection criteria thus allows to run most processing devices in maximum reservation mode.
Preferably, if no processing device is in the maximum reservation mode, but at least one processing device is in the minimum reservation mode, the processing device is selected that has the least load and is in the minimum reservation mode. This means that if no processing device is in the maximum reservation mode, among all processing devices that are in the minimum reservation mode, the least loaded processor is selected to start the new service.
This ensures that all processing devices get evenly filled. When services are stopped, the processing devices enter the maximum reservation mode as soon as an extension to the maximum extension service becomes possible. Given evenly loaded processing devices with similar resource usage and at a similar reservation level, the processing devices enter the maximum reservation mode when the free resources of the processing devices reach the level of the maximum extension service.
According to another advantageous embodiment the processing device in the minimum reservation mode is selected that has the highest load, if no processing device is in a maximum reservation mode, but at least one processing device is in the minimum reservation mode. This selection of the maximum instead of the least loaded processing device in minimum reservation mode leads to an earlier transition from minimum to maximum reservation mode, since the probability that a single processing device reaches the maximum reservation mode is higher. Using this selection criteria the initial services allocated have a higher risk to not be extendable to the maximum extension service.
If none of the processing devices is in the maximum reservation mode and none of the processing devices is in the minimum reservation mode, no processor is selected at all and the requested service is rejected. So the likelihood is reduced that an initial service can not be extended due to the fact that the required resources are not available. Instead, an initial service is only started, if at least an extension to the minimum extension service is guaranteed.
According to the inventive method it is advantageously possible to define the maximum reservation mode or the minimum reservation mode such that only few, but large services can be served or such that a large number of small services can be served. Therefore, the set of resources that are defined by the minimum extension service and the maximum extension service can be chosen, accordingly.
According to another preferred embodiment of the present invention, the processing device is part of a base station, wherein the base station can be connected to a radio network. According to the UMTS-standard, the radio network can be realized as the UTRAN (UMTS Terrestrial Radio Access Network) and the base station can be realized as a Node B.
The object is also solved by a base station that can be connected to a radio network, wherein the base station comprises at least two processing devices and each processing device provides at least one resource that can be requested by an initial service, wherein the base station is adapted to execute the inventive method.
The object is also solved by a computer program adapted to run on a data processing unit, in particular on a base station or a resource manager, wherein the computer program is programmed to execute the inventive method, if the computer program is run on the data processing unit, wherein the data processing unit comprises at least two processing devices.
The realization of this invention in the form of the computer program is particularly important. Parts of the computer program may be run on different processing units or on different computers in order to carry out the inventive method. The invention is, thereby, realized by the computer program, wherein this computer program represents the invention in the same sense as the method for the execution of which the computer program is suitable. The computer program is preferably stored in a storage element. A storage element may in particular be a random-access-memory (RAM), a read-only-memory (ROM), a hard disc, or an optical storage medium like a compact disc (CD) or a digital versatile disc (DVD).
Further features, applications and advantages of the invention will become apparent from the following description of exemplary embodiments of the invention that are shown in the drawings. There, all described and shown features separately or in any combination represent the subject-matter of the invention, independently of the wording in the description or the representation in the drawings and independently of a combination in the claims or the dependencies of the claims.